Communication devices such as telephones, computers, and video equipment may be interconnected to form a network. A network allows multiple parties to communicate with each other. Communications within a network often take the form of voice, data, video, or a combination of these forms. Such communications allow for meetings and presentations with participants separated by long distances. These events depend on the network to function as quickly and accurately as possible, in order to compensate for the distance of the participants.
A network may be formed by linking independent communication devices together according to a protocol. One example of a protocol for linking communication devices is Fibre Channel. In a Fibre Channel network, each device, acting as a node, or entry point onto the network, transmits and receives information through the network to the other network nodes. Although Fibre Channel networks may take various forms, a loop topology is often incorporated. In a loop topology, network nodes are connected in loop arrangement with any given node directly connected to only its two neighbors. In this manner, communication between all parties connected to the network is possible. One advantage of the some loop topologies is fault tolerance. In some implementations that utilize counter-rotational rings, if a break between nodes occurs, information may be routed back around the loop to its destination.
Information transmitted by the nodes travels around the loop until it reaches its destination. Traditionally, many Fibre Channel networks are configured to allow transmission of information by only one node at a given time. Thus, while any given node is transmitting information, all other nodes can only receive information. In addition traditional networking protocols do not specify the amount of time that this one node can transmit. Such communication schemes pose problems with the transmission of isochronous data that require the transfer of data at regular intervals such as live video and audio. A node that has live video to transfer is threatened with data loss if the network is currently servicing an unbounded transfer for another node. This problem is enhanced when the network has multiple sources of live isochronous data.
Such a problem may be addressed by periodically transmitting, around a network, a plurality of frames that include a plurality of slots for storing information. In such a system, it is desirable to be able to allocate priorities to the frames and to specify the time in which such frames are transmitted. Furthermore, it is also desirable to be able to specify a rate at which frames are transmitted.